//封装ajax
// option.type 请求的方式
// option.url 请求的地址
// option.header 请求头部
// option.data 响应数据
// option.success 响应成功事件
// option.error 响应失败事件

function ajax(option){
    //兼容版本问题
    if(window.XMLHttpRequest)
    {
        var xhr = new XMLHttpRequest();
    }else
    {
        var xhr = new ActiveXObject("Microsoft.XMLHTTP")
    }
    var defaultx = {//默认对象
        type:'GET',
        url:'',
        header:'application/x-www-form-urlencoded',
        data:{},
        success:function(data){
            console.log(data);
        },
        error:function(data){
            console.log(data);
        }
    }
    Object.assign(defaultx,option);
    var params = '';
    var value = '';
    for(attr in option.data)
    {
        value += option.data[attr] +'&';
    }
   value =  value.slice(0,value.length-1);
    for(attr in option.data)
    {
        params += attr + '=' + option.data[attr] + '&';
    }
    params =  params.slice(0,params.length-1);
    xhr.open(option.type,option.url);
    if(option.type=="POST"||option.type=="PUT")
    {
        xhr.setRequestHeader("Content-Type",option.header);
        xhr.send(params)
    }else
    {
        xhr.send();
    }
    //防止使用某种方式 路由传参
    if(option.type=="DELETE")
    {
        option.url = option.url + '/' + value;
        xhr.send();
    }
   xhr.onload = function(){
    var response = xhr.responseText;
    var content = xhr.getResponseHeader("Content-Type");
    if(content.includes('application/json'))
    {
        response = JSON.parse(response);
    }
    option.success(response);
   }
   xhr.onerror = function(){
    var response = xhr.responseText;
    option.error(response);
   }
}